void HeapSort(SqList *L)
{
	int i;
	for (i = L->length/2; i>0; i--)   /* 把 L 中的 r 构建成一个大顶堆 */
		HeapAdjust(L, i, L->length);
	for (i = L->length; i>1; i--)
	{
		swap(L, 1, i);  /* 将堆顶记录和当前未经排序子序列的最后一个记录交换 */
		HeapAdjust(L, 1, i-1); /* 将 L->r[1..i-1] 重新调整为大顶堆 */
	}
}

// r[10] = [50, 10, 90, 30, 70, 40, 80, 60, 20];